﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TheatreManagementSystem
{
   public abstract class Customer : IDiscountable
    {

       public int attendedPerformancesCount{get;private set;}
       public string FirstName { get;private set; }
       public string LastName { get; private set; }
       
       public string telephoneNumber { get; private set; }
       public Customer(int attendedPerformancesCount, string firstName,string lastName)
       {
           this.attendedPerformancesCount = attendedPerformancesCount;
           this.FirstName = firstName;
           this.LastName = lastName;
       }
       public Customer(int attendedPerformancesCount, string firstName,string lastName, string telephoneNumber)
           :this(attendedPerformancesCount,firstName,lastName)
       {
           this.telephoneNumber = telephoneNumber;
       }
       public abstract decimal GetDiscount();
       public void AttendNewPerformance()
       {
           attendedPerformancesCount++;
       }

       public abstract bool IsThresholdReached();
    }
}

